/** Draws a textured ground, or ground+ceiling.

    DCN 27-06-2010
*/

#pragma once
#include "StimNDot.h"

class CStimNDotTexture :
    public CStimNDot
{
public:
    CStimNDotTexture(const bool& bAlsoCeiling_);
    virtual ~CStimNDotTexture(void);

    // prepare stimulus
    virtual void Reset          ();

    // change stimulus
    virtual void Update         (const CMatrix<double>& mEyePos_, const double& dYaw_) {};

    // other
    virtual std::string GetName ();
    
    // setters
    std::string&    SetTexFileName()            {return _sTexFileName;}
    double&         SetTextureScale()           {return _dTextureScale;}

protected:    
    void LoadTexture();

    //// input
    std::string             _sTexFileName;
    double                  _dTextureScale;

    // variables
    GLuint                  _uTexName;          // texture id
};

